# from paddleocr import PaddleOCR
# from PIL import Image
# import numpy as np

# --------------------------
# 3.1.1 版本专属初始化配置（关键优化）
# --------------------------
# ocr = PaddleOCR(
#     use_textline_orientation=True,          # 开启角度校正（必选，适配倾斜车牌）
#     ocr_version="PP-OCRv5",
#     lang="ch",                   # 中文识别（含车牌汉字+字母+数字）
#     text_detection_model_dir=None,          # 自动下载车牌检测预训练模型（3.1.1 会自动匹配最优模型）
#     text_recognition_model_dir=None,          # 自动下载车牌字符识别模型
#     textline_orientation_model_dir=None,          # 自动下载角度分类模型
#     text_det_limit_side_len=960,      # 3.1.1 新增：检测图像最大边长（默认 960，可调整适配大图片）
#     text_det_thresh=0.25,          # 降低检测阈值（3.1.1 推荐 0.25，适配模糊车牌）
#     text_det_unclip_ratio=1.6,     # 扩大检测框（避免车牌边缘被裁剪）
#     text_recognition_batch_size=10            # 识别批量大小（3.1.1 支持更大批量，提速）
#     # use_gpu=True if paddle.fluid.is_compiled_with_cuda() else False  # 自动判断 GPU 是否可用
# )

# # 输入图片（本地路径/网络 URL 均可）
# image_path = "cp_img/1.jpg"  # 替换为你的车牌图片路径
# result = ocr.ocr(image_path, cls=True)  # cls=True 启用角度校正（3.1.1 优化了 cls 推理速度）

# # --------------------------
# # 解析结果（3.1.1 结果格式与旧版本一致，兼容无需修改）
# # --------------------------
# print("车牌识别结果：")
# for idx, line in enumerate(result):
#     plate_text = line[1][0]  # 车牌字符（如：粤A12345D）
#     confidence = line[1][1]  # 置信度（0-1，越高越准确）
#     plate_box = line[0]      # 车牌坐标（四边形顶点）
#     print(f"第{idx+1}个车牌：{plate_text}，置信度：{confidence:.4f}")

# # --------------------------
# # 可视化结果（3.1.1 兼容 draw_ocr，优化了字体渲染）
# # --------------------------
# image = Image.open(image_path).convert("RGB")
# boxes = [line[0] for line in result]  # 车牌框坐标
# txts = [line[1][0] for line in result]  # 车牌字符
# scores = [line[1][1] for line in result]  # 置信度

# 绘制结果（需 simhei.ttf 字体，Windows 可从 C:\Windows\Fonts 复制）
# im_show = draw_ocr(
#     image, boxes, txts, scores,
#     font_path="simhei.ttf",  # 字体文件路径（必填，否则中文乱码）
#     font_size=18,            # 3.1.1 支持自定义字体大小
#     text_color=(255, 0, 0)   # 文字颜色（红色）
# )
# im_show = Image.fromarray(im_show)
# im_show.save("plate_result.jpg")  # 保存可视化图片
# im_show.show()  # 打开预览



# from ultralytics import YOLO
# from paddleocr import PaddleOCR
# # detector = YOLO('yolov8n_plate.pt')
# ocr_engine = PaddleOCR(use_angle_cls=True, lang='ch', rec_model_dir='plate_rec')
# res=ocr_engine.ocr('cp_img/1.jpg')
# results = detector('cp_img/1.jpg')
# for box in results.boxes.xyxy:
#     pass
    # plate_img = crop_image_by_box('car.jpg', box)
    # ocr_result = ocr_engine.ocr(plate_img, cls=True)
    # print(ocr_result[-1])



from paddleocr import PaddleOCR, draw_ocr
# from paddleocr.tools.infer.utility import draw_ocr

# 初始化 OCR 模型（CPU 版本）
ocr = PaddleOCR(use_textline_orientation=True, use_gpu=False)
# 识别图片
result = ocr.ocr("cp_img/1.jpg", cls=True)
# 打印结果
for line in result:
    print(line)

